/*
 * This header was generated from the Linux kernel headers by update_headers.py,
 * to provide necessary information from kernel to userspace, such as constants,
 * structures, and macros, and thus, contains no copyrightable information.
 */
#ifndef _LINUX_ATMSAP_H
#define _LINUX_ATMSAP_H
#include <linux/atmapi.h>
#define ATM_L2_NONE	0
#define ATM_L2_ISO1745  0x01
#define ATM_L2_Q291	0x02
#define ATM_L2_X25_LL	0x06
#define ATM_L2_X25_ML	0x07
#define ATM_L2_LAPB	0x08
#define ATM_L2_HDLC_ARM	0x09
#define ATM_L2_HDLC_NRM	0x0a
#define ATM_L2_HDLC_ABM	0x0b
#define ATM_L2_ISO8802	0x0c
#define ATM_L2_X75	0x0d
#define ATM_L2_Q922	0x0e
#define ATM_L2_USER	0x10
#define ATM_L2_ISO7776	0x11
#define ATM_L3_NONE	0
#define ATM_L3_X25	0x06
#define ATM_L3_ISO8208	0x07
#define ATM_L3_X223	0x08
#define ATM_L3_ISO8473	0x09
#define ATM_L3_T70	0x0a
#define ATM_L3_TR9577	0x0b
#define ATM_L3_H310	0x0c
#define ATM_L3_H321	0x0d
#define ATM_L3_USER	0x10
#define ATM_HL_NONE	0
#define ATM_HL_ISO	0x01
#define ATM_HL_USER	0x02
#define ATM_HL_HLP	0x03
#define ATM_HL_VENDOR	0x04
#define ATM_IMD_NONE	 0
#define ATM_IMD_NORMAL	 1
#define ATM_IMD_EXTENDED 2
#define ATM_TT_NONE	0
#define ATM_TT_RX	1
#define ATM_TT_TX	2
#define ATM_TT_RXTX	3
#define ATM_MC_NONE	0
#define ATM_MC_TS	1
#define ATM_MC_TS_FEC	2
#define ATM_MC_PS	3
#define ATM_MC_PS_FEC	4
#define ATM_MC_H221	5
#define ATM_MAX_HLI	8
struct atm_blli {
    unsigned char l2_proto;
    union {
	struct {
	    unsigned char mode;

	    unsigned char window;
	} itu;
	unsigned char user;
    } l2;
    unsigned char l3_proto;
    union {
	struct {
	    unsigned char mode;

	    unsigned char def_size;

	    unsigned char window;
	} itu;
	unsigned char user;
	struct {
	    unsigned char term_type;
	    unsigned char fw_mpx_cap;

	    unsigned char bw_mpx_cap;

	} h310;
	struct {
	    unsigned char ipi;
	    unsigned char snap[5];

	} tr9577;
    } l3;
} __ATM_API_ALIGN;
struct atm_bhli {
    unsigned char hl_type;
    unsigned char hl_length;

    unsigned char hl_info[ATM_MAX_HLI];
};
#define ATM_MAX_BLLI	3
struct atm_sap {
	struct atm_bhli bhli;
	struct atm_blli blli[ATM_MAX_BLLI] __ATM_API_ALIGN;

};
static __inline__ int blli_in_use(struct atm_blli blli)
{
	return blli.l2_proto || blli.l3_proto;
}
#endif
